概要 §
MagSite1のコンテンツの添付ファイルとして書き込んだファイルがWindows Media Playerで再生できないことがあります。
解決策 §
ファイル名にURLエンコードを要する文字を使用しません。
(Windows Media Player側の問題であるらしいため、他に有効な解決策のアイデアがありません)
発生条件 §
以下の2つのケースで、発生することがあります。
- Internet ExplorerからMP3等のファイルをクリックしてWindows Media Playerを起動した
- Windows Media Playerの「URLを開く」でURLを開いた
以下のケースでは発生しません。
- Firefox, Operaから開くことで、Windows Media Playerを起動する
また、問題が発生するためには、URLエンコードのエスケープを2回解除できるパスを含む必要があります。
例: %255F
(%25を%に置き換え%5Fを得た後、%5Fを更に"_"に置き換えることができる例)
実際に発生する実例のMP3ファイルへのリンクを以下に示します。
原因 §
Windows Media PlayerがURLエンコードを2回適用してしまうことで、他のソフトとは異なるファイルをサーバに要求するためです。
上記実例のファイルのケースでは、"a%255Fb.mp3"というエンコードされた表記から、通常は"a%5Fb.mp3"というファイルを要求します。
しかし、Windows Media Playerは"a_b.mp3"というファイルを要求し、ファイルを発見できません。
補足 §
ちなみに、Internet ExplorerからWindows Media Playerを起動した場合には、Internet Explorerはファイルの実在を確認できるのに、Windows Media Playerは確認できないというねじれ現象が発生します。
FirefoxとOperaを使用するとWindows Media Playerで再生できるのは、この2つのソフトはWindows Media Playerに対して、ダウンロードしたテンポラファイルのパスを渡して再生させるためです。つまり、Windows Media PlayerにURLが渡されるわけではなく、URL解釈の問題は発生しません。しかし、ストリーム再生が行われるわけではないので、快適さにおいてInternet Explorerに劣ります。